[Subscription Billing] Fix deferral creation, release, and credit memo handling#6636
Conversation
|
From the log AA0215 The file DeferralPostingPreviewBinding.Codeunit.al has an incorrect name. The valid name is DeferralPostPreviewBinding.Codeunit.al. |
Fixed |
Head branch was pushed to by a user without write access
4198dd4 to
a6121f0
Compare
|
rebased on newest main, added CLEAN Tags |
Summary
This pull request introduces a new data upgrade step to populate posting group fields in contract deferral records, along with some code clean-up and improvements/fixes across related modules.
Extensibility: Five core deferral objects need integration points (events) for ISV extensions to customize behavior during deferral creation and release processes.
Missing Posting Groups in Deferrals: Contract deferrals cannot be released when the original posted documents are unavailable (e.g., in data migration scenarios), because posting group information is retrieved from posted invoice/credit memo lines instead of being stored in the deferral entries.
Zero-Amount Deferrals: The system creates unnecessary deferral entries and G/L postings for contract lines with 0.00 amounts, leading to excessive ledger entries with no financial impact.
Inconsistent Partial Period Handling: Vendor contract deferrals handle partial billing periods inconsistently—some invoices are deferred based on full months while others are calculated daily, causing incorrect revenue recognition.
Credit Memo Deferral Gap: Credit memos with amounts exceeding the original invoice amount do not generate corresponding deferral entries, resulting in incomplete revenue recognition.
Double Deferral Generation: When both contract-based deferrals and standard deferral codes are used, deferrals are incorrectly created in both systems simultaneously.
Work Item(s)
Fixes #6281
AB#623188